<section class="normal markdown-section">
 <h1 id="django-是什么？">
  Django 是什么？
 </h1>
 <p>
  Django （
  <em>
   /ˈdʒæŋɡoʊ/jang-goh
  </em>
  ） 是用 Python 写的一个自由和开放源码 web 应用程序框架。 web框架是一套组件，能帮助你更快、更容易地开发web站点。
 </p>
 <p>
  当你开始构建一个web站点时，你总需要一些相似的组件：处理用户认证（注册、登录、登出）的方式、一个管理站点的面板、表单、上传文件的方式，等等。
 </p>
 <p>
  幸运的是，其他人很早就注意到web开发人员会面临一些共同的问题。所以他们联手创建了 web 框架（Django 是其中一个）来让你使用。
 </p>
 <p>
  由于框架的存在，你无需重新发明轮子就能建立新的站点。
 </p>
 <h2 id="你为什么需要一个框架？">
  你为什么需要一个框架？
 </h2>
 <p>
  要理解什么是Django， 我们需要更仔细的看一下服务器。 服务器需要知道的第一件事就是你希望它为你的网页做什么。
 </p>
 <p>
  想象一个用来监控接收邮件（请求）的邮箱（端口）。 这就是网站服务器做的事情。 网站服务器读这封信，然后将响应发送给网页。 但是当你想发送一些东西的时候，你必须要有一些内容。 而Django就是可以帮助您创建内容的工具。
 </p>
 <h2 id="当有人向您的服务器请求一个网站，会发生什么呢？">
  当有人向您的服务器请求一个网站，会发生什么呢？
 </h2>
 <p>
  当一个请求到达网站服务器，它会被传递到Django，试图找到实际上什么是被请求的。 它首先会拿到一个网页的地址，然后试图去弄清该做什么。 这个部分是由Django的
  <strong>
   urlresolver
  </strong>
  （url解析器。注意一个网站的地址被叫做URL，统一资源定位器，所以
  <em>
   url解析器
  </em>
  是有意义的）。 它并不十分聪明，他接受一个模式列表，然后试图去匹配 URL。 Django从顶到底检查模式，如果有匹配上的，那么Django会将请求传递给相关的函数（这被称作
  <em>
   视图
  </em>
  ）。
 </p>
 <p>
  想象一个邮递员拿着一封信。 她沿着街区走下去，检查每一个房号与信件地址是否对应。 如果匹配上了，她就把信投在那里。 这也是url解析器的工作方式！
 </p>
 <p>
  在
  <em>
   视图
  </em>
  函数里做了很多有趣的事情：我们能在数据库中寻找到一些信息。 如果用户要求修改数据呢？ 就像一封信里说，“请修改我的工作描述”，
  <em>
   视图
  </em>
  将检查是否你允许它这么干，然后更新工作描述并发回一个消息：“做完了”。 然后
  <em>
   视图
  </em>
  生成响应，并且Django能够发送给用户的web浏览器。
 </p>
 <p>
  当然，上述的描述是有一些简化的，但是你不需要去知道所有的技术的东西。有一个大概的想法就够了。
 </p>
 <p>
  所以不要太过深入细节，我们会简单用Django创建一些东西，然后我们会在学习的路上学到所有重要的部分！
 </p>
</section>
